
import unittest
import textwrap


class ContainerEqualityTest(unittest.TestCase):

    def testCount(self):
        self.assertCountEqual([1, 2, 3, 2], [1, 3, 2, 3])

    def testDict(self):
        self.assertDictEqual({'a': 1, 'b': 2}, {'a': 1, 'b': 3})

    def testList(self):
        self.assertListEqual([1, 2, 3], [1, 3, 2])

    def testMultiLineString(self):
        self.assertMultiLineEqual(textwrap.dedent("""This string 
        has more than 
        one line"""), textwrap.dedent("""This string 
        has more than 
        two lines"""))

    def testSequence(self):
        self.assertSequenceEqual([1, 2, 3], [1, 3, 2])

    def testSet(self):
        self.assertSetEqual(set([1, 2, 3]), set([1, 3, 2, 4]))

    def testTuple(self):
        self.assertTupleEqual((1, 'a'), (2, 'b'))

    def testInSet(self):
        self.assertIn(4, set([1, 2, 3]))
